﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


//chua thong tin ve ModelType 
namespace MyGames
{

    
    public enum ModelType
    {
        Phodom,
        // Beastmen encampment
        Werewolf,
        Beastmen,
        Bigfoot,
        // Phodom house
        XanaSummon,     // QUEST BOSS
        Soul,           // After Birgitta's death
        // Ways to Dalli
        DireWolf,
        Harpy,
        ThunderBird,
        Phoenix,
        // Orge mountain
        OrcArcher,
        OrcWarrior,
        OrcMage,
        Orge,
        // Orge dungeon
        OrgeLeader,     // QUEST BOSS
        Bat,
        GiantSpider,
        // Dalli village
        // Richard farm
        Demon,          // QUEST BOSS
        Slime,
        // Nathalie garden
        Bumpkin,
        Monkey,
        // Golem mountain
        AncientGolem,   // QUEST BOSS
        YoungGolem,
        ElderGolem,
        StonePig,
        // Mandaras hidout
        Mandaras,       // QUEST BOSS
        EvilFighter,
        EvilArcher,
        EvilMage,
        // Swamp
        Satan,          // BONUS BOSS
        Necromancer,
        CreepyTree,
        // Bandit hidout
        Barbarian,      // QUEST BOSS
        BanditFighter,
        BanditArcher,
        BanditMage,
    }

    public static class ModelInfomation
    {
        static public List<CharacterInformation> CharacterInformation = new List<CharacterInformation>();
        static public List<FrameInformation> FrameInformation = new List<FrameInformation>();
    }

    public struct CharacterInformation
    {
        public string Name;
        public int MaxHealth;
        public int MaxMana;
        public int AttackPower;
        public int Armor;
        public float HealthRegen;
        public float ManaRegen;
        public float MoveSpeed;
        public float AttackSpeed;
        public int AttackRange;
        public int SighRange;
        public AttackType AttackType;
        public Element Element;

        public CharacterInformation(int maxhealth, int maxmana, int attackpower, int armor, float movespeed, float attackspeed, float healthregen,
                      float manaregen, int atkrange, int sighrange, string name, AttackType attacktype, Element element)
        {
            MaxHealth = maxhealth;
            MaxMana = maxmana;
            AttackPower = attackpower;
            Armor = armor;
            MoveSpeed = movespeed;
            AttackSpeed = attackspeed;
            HealthRegen = healthregen;
            ManaRegen = manaregen;
            AttackRange = atkrange;
            SighRange = sighrange;
            Name = name;
            AttackType = attacktype;
            Element = element;
        }
    }

    public struct FrameInformation
    {
        public int IdleFrameCount;
        public int MoveFrameCount;
        public int GethitFrameCount;
        public int DieFrameCount;
        public int AttackFrameCount;
        public int PrimarySkillFrameCount;
        public int SecondarySkillFrameCount;

        public FrameInformation(int idlefc, int movefc, int gethitfc,
            int diefc, int atkfc, int priskillfc, int scdskillfc)
        {
            IdleFrameCount = idlefc;
            MoveFrameCount = movefc;
            GethitFrameCount = gethitfc;
            DieFrameCount = diefc;
            AttackFrameCount = atkfc;
            PrimarySkillFrameCount = priskillfc;
            SecondarySkillFrameCount = scdskillfc;
        }
    }
}
